import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;

import threads.ProcessaNFBlockingQueue;
import entidades.Nota;


public class Main {
	public static void main(String[] args) {
		Nota nota = new Nota();
		int lote = 20;
		nota.setLote(lote);

		/*BlockingQueue<Nota> listaBlocking = new ArrayBlockingQueue<Nota>(lote);//plus
		nota.setListaBlockingQueue(listaBlocking);

		//inicio das threads
		ProcessaNFBlockingQueue procQueue = new ProcessaNFBlockingQueue(nota, 0);
		procQueue.start();

		BuscaNFBlockingQueue buscaQueue = new BuscaNFBlockingQueue(nota, 0);
		buscaQueue.start();			

		ProcessaNFLock procLock = new ProcessaNFLock(nota, 0);
		procLock.start();

		BuscaNFLock buscaLock = new BuscaNFLock(nota, 0);
		buscaLock.start();
		
		ProcessaNFWaitNotify procWait = new ProcessaNFWaitNotify(nota,0);
		procWait.start();

		BuscaNFWaitNotify calcWait = new BuscaNFWaitNotify(nota,0);
		calcWait.start();	

		ProcessaNFSemaforo procSem = new ProcessaNFSemaforo(nota, 0);
		procSem.start();

		BuscaNFSemaforo calcSem = new BuscaNFSemaforo(nota, 0);
		calcSem.start();			

		ExibeComissao exibe = new ExibeComissao(nota, 0);
		exibe.start();*/
		//fim das trheads
	}
}
